<?php
namespace Guigle\GuiaBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @ORM\Entity
 * @ORM\Table(name="guigle_entrada")
 */
class Entrada
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

    /**
     * @ORM\Column(type="string")
     * @Assert\NotBlank()
     * @Assert\MinLength(3)
     * @Assert\MaxLength(20)
     */
    protected $nombre;

 	/**
     * @ORM\Column(type="datetime")
     */
    private $agregado;

    /**
     * @ORM\Column(type="datetime")
     */
    private $modificado;

    public function __construct()
    {
        $this->agregado = $this->modificado = new \DateTime('now');
    }

    /**
     * @ORM\PreUpdate
     */
    public function updated()
    {
        $this->modificado = new \DateTime('now');
    }

    /**
     * @ORM\Column(type="text")
     */
    protected $descripcion;

	/**
    * @ORM\Column(type="string")
    * @Assert\MinLength(5)
    */
    protected $direccion;

    /**
    * @ORM\Column(type="string")
    * @Assert\NotBlank()
	* @Assert\MinLength(5)
	* @Assert\MaxLength(20)
    */
    protected $telefono1;


    /**
    * @ORM\Column(type="string")
	* @Assert\MaxLength(20)
    */
    protected $telefono2;


    /**
    * @ORM\Column(type="string")
	* @Assert\MaxLength(20)
    */
    protected $pseudoid;

	/**
    * @ORM\Column(type="string")
    * @Assert\Email()
    */
    protected $email;

	/**
    * @ORM\Column(type="string")
    * @Assert\MaxLength(200)
    */
    protected $sitio;


	/**
    * @ORM\Column(type="string")
    * @Assert\MaxLength(100)
    */
    protected $imagen;

	/**
	* @ORM\Column(type="integer")
	*/	
	protected $pago;
	
	/**
	* @ORM\Column(type="integer")
	*/	
	protected $visitas;

	/**
	* @ORM\Column(type="integer")
	*/	
	protected $votosnegativos;

	/**
	* @ORM\Column(type="integer")
	*/	
	protected $votospositivos;

    /**
     * @ORM\ManyToOne(targetEntity="CatL2", inversedBy="entradas")
     * @ORM\JoinColumn(name="categoria_id", referencedColumnName="id")
     */
    protected $categoria;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nombre
     *
     * @param string $nombre
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    }

    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return $this->nombre;
    }

    /**
     * Set agregado
     *
     * @param datetime $agregado
     */
    public function setAgregado($agregado)
    {
        $this->agregado = $agregado;
    }

    /**
     * Get agregado
     *
     * @return datetime 
     */
    public function getAgregado()
    {
        return $this->agregado;
    }

    /**
     * Set modificado
     *
     * @param datetime $modificado
     */
    public function setModificado($modificado)
    {
        $this->modificado = $modificado;
    }

    /**
     * Get modificado
     *
     * @return datetime 
     */
    public function getModificado()
    {
        return $this->modificado;
    }

    /**
     * Set descripcion
     *
     * @param text $descripcion
     */
    public function setDescripcion($descripcion)
    {
        $this->descripcion = $descripcion;
    }

    /**
     * Get descripcion
     *
     * @return text 
     */
    public function getDescripcion()
    {
        return $this->descripcion;
    }

    /**
     * Set direccion
     *
     * @param string $direccion
     */
    public function setDireccion($direccion)
    {
        $this->direccion = $direccion;
    }

    /**
     * Get direccion
     *
     * @return string 
     */
    public function getDireccion()
    {
        return $this->direccion;
    }

    /**
     * Set telefono1
     *
     * @param string $telefono1
     */
    public function setTelefono1($telefono1)
    {
        $this->telefono1 = $telefono1;
    }

    /**
     * Get telefono1
     *
     * @return string 
     */
    public function getTelefono1()
    {
        return $this->telefono1;
    }

    /**
     * Set telefono2
     *
     * @param string $telefono2
     */
    public function setTelefono2($telefono2)
    {
        $this->telefono2 = $telefono2;
    }

    /**
     * Get telefono2
     *
     * @return string 
     */
    public function getTelefono2()
    {
        return $this->telefono2;
    }

    /**
     * Set pseudoid
     *
     * @param string $pseudoid
     */
    public function setPseudoid($pseudoid)
    {
        $this->pseudoid = $pseudoid;
    }

    /**
     * Get pseudoid
     *
     * @return string 
     */
    public function getPseudoid()
    {
        return $this->pseudoid;
    }

    /**
     * Set email
     *
     * @param string $email
     */
    public function setEmail($email)
    {
        $this->email = $email;
    }

    /**
     * Get email
     *
     * @return string 
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * Set sitio
     *
     * @param string $sitio
     */
    public function setSitio($sitio)
    {
        $this->sitio = $sitio;
    }

    /**
     * Get sitio
     *
     * @return string 
     */
    public function getSitio()
    {
        return $this->sitio;
    }

    /**
     * Set imagen
     *
     * @param string $imagen
     */
    public function setImagen($imagen)
    {
        $this->imagen = $imagen;
    }

    /**
     * Get imagen
     *
     * @return string 
     */
    public function getImagen()
    {
        return $this->imagen;
    }

    /**
     * Set pago
     *
     * @param integer $pago
     */
    public function setPago($pago)
    {
        $this->pago = $pago;
    }

    /**
     * Get pago
     *
     * @return integer 
     */
    public function getPago()
    {
        return $this->pago;
    }

    /**
     * Set visitas
     *
     * @param integer $visitas
     */
    public function setVisitas($visitas)
    {
        $this->visitas = $visitas;
    }

    /**
     * Get visitas
     *
     * @return integer 
     */
    public function getVisitas()
    {
        return $this->visitas;
    }

    /**
     * Set votosnegativos
     *
     * @param integer $votosnegativos
     */
    public function setVotosnegativos($votosnegativos)
    {
        $this->votosnegativos = $votosnegativos;
    }

    /**
     * Get votosnegativos
     *
     * @return integer 
     */
    public function getVotosnegativos()
    {
        return $this->votosnegativos;
    }

    /**
     * Set votospositivos
     *
     * @param integer $votospositivos
     */
    public function setVotospositivos($votospositivos)
    {
        $this->votospositivos = $votospositivos;
    }

    /**
     * Get votospositivos
     *
     * @return integer 
     */
    public function getVotospositivos()
    {
        return $this->votospositivos;
    }

    /**
     * Set categoria
     *
     * @param Guigle\GuiaBundle\Entity\CatL2 $categoria
     */
    public function setCategoria(\Guigle\GuiaBundle\Entity\CatL2 $categoria)
    {
        $this->categoria = $categoria;
    }

    /**
     * Get categoria
     *
     * @return Guigle\GuiaBundle\Entity\CatL2 
     */
    public function getCategoria()
    {
        return $this->categoria;
    }
}